Today marks the five-year anniversary of my first post on Packet Life. (Funny, it doesn't feel like it's been that long.) Those of you who follow the blog regularly no doubt have noticed that I don't post as often as I used to. Several factors contribute to this, probably the largest of which has been the increasing burden and tedium of my day job. My wife and I also relocated here to the Raleigh-Durham area of North Carolina last year, so getting settled has eaten up a good amount of time over the past months.
Rather than rehashing the past year, I thought it would be interesting to discuss what's coming up in the near future. We've seen quite a number of new technologies and ideas pop up recently, so many in fact that I've been having a difficult time keeping sense of it all. Here's my take on what will be big in our world over the next few years.
Software-Defined Networking (SDN)
The functions of any network device can be assigned among three planes of operation: control, forwarding, and management. Traditionally, routers and switches (or switch stacks) have been deployed as autonomous units which operate independently on all three planes. A router, for example, might be configured via SSH (management plane) to learn routes via OSPF (control plane) which are then installed in its forwarding table (forwarding plane). Software-defined networking (SDN) is a broad term which refers to offloading the functions of the control and management planes from individual devices to a centralized controller.
Why does this matter? Offloading control plane functions to one or more central controllers theoretically allows for much more flexible, granular handling of data flows transiting a network. Forwarding decisions can be made within the context of an entire network rather than on a hop-by-hop basis. This flexibility also permits centralized configuration and provisioning of resources, which saves on operational costs. Although emerging SDN products are heavily focused on the data center, I suspect we will see SDN expand to the enterprise in the coming years as well. Google has been of particular interest lately with its SDN WAN deployment (PDF).
It's worth pointing out that there's a very good reason that routers and switches have remained largely autonomous devices for so many years: In most environments, a network device needs to remain manageable and operational in the event connectivity to remote resources (such as a controller) is lost. The larger you try to grow an SDN domain, the more susceptible it becomes to failure, and the more resiliency must be built into the infrastructure to ensure that controller availability is assured. This is relatively easy to do within the contained, highly reliable environment of a data center, but it will be interesting to see how the SDN approach fairs in the wild.
Whereas SDN is an abstract concept, OpenFlow is a defined protocol which runs between a centralized controller and the routers and switches (deemed OpenFlow agents) which comprise a network. OpenFlow is used by a controller to "program" an agent device; that is, to install or manipulate forwarding information. An agent device needs to possess only enough logic to facilitate communication with the OpenFlow controller and to manipulate its local forwarding table. Forwarding instructions are defined as flow tables which match transit traffic based on any combination of header fields (source IP address, destination TCP port, etc.) similar to a firewall policy.
Whereas OpenFlow is an open standard, some vendors are developing their own proprietary implementations of the SDN paradigm. Cisco's One Platform Kit (OnePK), for example, seeks to provide an alternative to OpenFlow by providing API access directly into router and switch firmware.
Just earlier this month, VMware announced its new network virtualization product, VMware NSX. VMware has combined its proven albeit limited vSwitch technology with the fruits of its Nicira acquisition last year to produce a much more featureful virtual routing and switching product. From what I can tell, NSX seems similar to Cisco's Nexus 1000V drop-in hypervisor switch but more tightly integrated with the rest of VMware's software suite.
We're going to see (or continue seeing) a large push to bring the provisioning of virtual network resources in line with other resources. Network as a Service (NaaS), it's called, because everything needs an acronym (ENAA). The goal is to allow for the automated provisioning of VLANs, firewall policies, and so forth to be completed in parallel with the creation of new virtual machines and storage. "Cloud" software suites like OpenStack and CloudStack seek to optimize the process of virtual network deployments. It's an intriguing idea, no doubt, but the possibility of arbitrarily turning up and tearing down vital network resources like people do today with VMs makes me a little uneasy.
Gigabit wireless LAN is on the horizon in the form of IEEE 802.11ac. I haven't had much reason to keep up with wireless developments lately, but Andrew von Nagy (@revolutionwifi) has written up an excellent, practical introduction to the emerging standard.
(Food for thought: IEEE 802.11n was officially ratified only three and a half years ago in September of 2009.)
Everything Else I Haven't Caught Onto Yet
What have I overlooked (or mentioned above but missed the point entirely)?