Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Networks

Using OpenFlow protocol to control network flow

Posted: 17 Feb 2012 ?? ?Print Version ?Bookmark and Share

Keywords:software-defined networking? OpenFlow? Open Networking Foundation?

In most cases, a combination of these switched and routed approaches exists simultaneously to control the forwarding behavior of traffic through a network. Regardless of the protocol specifics, usually traffic is forwarded solely on the basis of its ultimate destination, with each intermediate switch or router looking at the destination MAC address and/or destination IP address in the Ethernet and IP headers. All packets destined to the same device are relegated to use the same path through the infrastructure.

Although these methods have fueled the incredible growth in the size and scope of computing networks, they also have inefficiencies that carriers and enterprise networks would like to control.

By virtue of being solely based on destination forwarding, all traffic to a particular host or server ultimately traverses the same network path. This does not provide network architects the amount of control they require over how flows move through their networks. Additionally, considering the explosive use of virtualized servers, network configurations must provide the capability to be changed instantaneously in response to changes in the server topology.

Traditional switching and routing protocols take seconds if not minutes to reconverge, which is orders of magnitudes longer than can be tolerated. Today's networks need to be smarter, faster, and more flexible. What carriers and data-center network designers want is the ultimate control of how flows are routed through the network as well as the treatment that those flows receive, while not being held hostage to how IP routing protocols or spanning tree decides how traffic moves through the network.

What is OpenFlow?
OpenFlow is an open standard that was originally designed to allow researchers to run experimental protocols in their campus networks. Prior to OpenFlow, there was no practical way for researchers to try new protocols and networking techniques in a real network infrastructure carrying real traffic.

OpenFlow allows network administrators or programmable software to define the paths that flows take through a network, regardless of the underlying network topology and the particular hardware over which the traffic traverses. OpenFlow allows networks to be carved into "slices" where a particular slice is allocated a flow-specific path through the infrastructure and may optionally allocate portions of the network resources across that path.

OpenFlow wrests the distributed, address-based control of packet forwarding out of the switches and routers that traffic goes through, and gives programmatic control of flows to the administrator of the network itself. This per-flow forwarding capability allows data-center and carrier networks to strategically place flows where the required resources exist. The resources that can be exploited might include network path, bandwidth, security policy, and latency, to name only a few of the many possibilities.

While originally designed for network researchers, other interesting applications of the technology have become evident as the standard has progressed. OpenFlow has caught the attention of those building massive data centers and cloud-based virtualized network infrastructure as well as telecommunications carriers.

SDN enables inexpensive feature insertion for new services and new revenues and allows networks to be built with common off the shelf (COTS) hardware to lower equipment expenditures, while giving programmatic control of network infrastructure back to those responsible for building and administrating these networks.

Do flows really matter?
More users and more applications are driving an increase in throughput that networks need to support. This results in more individual "network conversations" or flows per segment. So how does one define a flow? A flow is a unidirectional sequence of packets all sharing a set of common packet header values. Importantly, in OpenFlow, the concept of a flow is not defined in a rudimentary fashion considering only the destination to which the traffic is addressed.

OpenFlow optionally uses numerous packet header fields to define the concept of a flow (figure 1). In the OpenFlow standard specification (v 1.1), the following fields may be used in flow definition:

???Ingress interface
???Packet metadata
???Ethernet source address
???Ethernet destination address
???Ethernet type
???VLAN priority
???MPLS label
???MPLS traffic class
???IPv4 source address
???IPv4 destination address
???IPv4 protocol/ARP opcode
???IPv4 ToS bits
???TCP/UDP source port/ICMP type
???TCP/UDP destination port/ICMP code

Figure 1: OpenFlow's flow identification fields. (Click on image to enlarge)

The concept of flow processing is not newit has been a mainstay in many network and security devices for many years. As examples, with stateful firewalls, security processing happens at beginning of the flow and this flow state is used to process the session afterwards.

?First Page?Previous Page 1???2???3???4?Next Page?Last Page

Article Comments - Using OpenFlow protocol to control n...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top